// 头文件

// 标准头文件结构
// 有写编译器(点名VS)也可以用 #pragma once(只编译一次)
#ifndef _MAX_H_
// 如果没有定义过 max.h
#define _MAX_H_
// 就定义 max.h
int max(int, int);

// 把函数原型放到一个头文件(.h)里, 在需要调用这个函数的源代码文件 \
// (.c文件) 中 #include 这个头文件, 就能让编译器在编译的时候知道 \
// 函数原型

extern int gAll;
// 想共享全局变量, 需要使用 extern
// int i; -> 变量的定义
// extern int i; -> 变量的声明(不能初始化), 不产生代码

// 规则上, 只有声明可以放在头文件里
// 否则会造成一个项目中多个编译单元里由重名的实体

// 同一个编译单元里, 同名的结构不能被重复声明
// 例如: main引用了a和b, b引用了a, 则可能导致重复定义

#endif